Skip to content

test(e2e): add stovepipe end-to-end suite driving the ingest→process pipeline#301

Merged
behinddwalls merged 1 commit into
mainfrom
preetam/stovepipe-e2e
Jul 7, 2026
Merged

test(e2e): add stovepipe end-to-end suite driving the ingest→process pipeline#301
behinddwalls merged 1 commit into
mainfrom
preetam/stovepipe-e2e

Conversation

@behinddwalls

Copy link
Copy Markdown
Collaborator

Summary

Intent:

  • Stovepipe had a full-stack integration suite but no e2e suite, and nothing proved the asynchronous process stage actually drained a message — the integration suite only asserts that Ingest publishes one.
  • Add an e2e suite whose distinguishing charter is proving the ingest→process pipeline runs end-to-end, mirroring the submitqueue test/e2e pattern.

Changes:

  • Add test/e2e/stovepipe with a testify suite (suite_test.go) that boots service/stovepipe/docker-compose.yml under the e2e-stovepipe context and a harness (harness_test.go) of intent-level helpers.
  • Tests cover Ping, Ingest happy-path (synchronous request/request_uri/queue_messages side effects plus asynchronous consumption), and Ingest idempotency/dedup.
  • awaitProcessed observes the durable acked-offset watermark in queue_offsets (which only advances on ack) rather than the message's delivery-state row, because the queue GCs acked messages from queue_messages once the watermark passes them.
  • Left the existing integration suite untouched (added alongside, per the submitqueue precedent of keeping both levels).

Test Plan

  • bazel test //test/e2e/stovepipe:stovepipe_test passes (Ping, Ingest happy-path, Ingest idempotency) against the Docker Compose stack. Non-vacuity confirmed: an offset-based signal that is absent makes awaitProcessed time out (observed while iterating), so the async assertion is real.

Generated by the 🪄 pr-create skill in devexp-agent-marketplace

Issues

@behinddwalls behinddwalls marked this pull request as ready for review July 7, 2026 17:15
@behinddwalls behinddwalls requested review from a team and sbalabanov as code owners July 7, 2026 17:15
…pipeline

Summary:
Intent:
- Stovepipe had a full-stack integration suite but no e2e suite, and nothing proved the asynchronous process stage actually drained a message — the integration suite only asserts that Ingest publishes one.
- Add an e2e suite whose distinguishing charter is proving the ingest→process pipeline runs end-to-end, mirroring the submitqueue test/e2e pattern.

Changes:
- Add test/e2e/stovepipe with a testify suite (suite_test.go) that boots service/stovepipe/docker-compose.yml under the e2e-stovepipe context and a harness (harness_test.go) of intent-level helpers.
- Tests cover Ping, Ingest happy-path (synchronous request/request_uri/queue_messages side effects plus asynchronous consumption), and Ingest idempotency/dedup.
- awaitProcessed observes the durable acked-offset watermark in queue_offsets (which only advances on ack) rather than the message's delivery-state row, because the queue GCs acked messages from queue_messages once the watermark passes them.
- Left the existing integration suite untouched (added alongside, per the submitqueue precedent of keeping both levels).

Test Plan:
- bazel test //test/e2e/stovepipe:stovepipe_test passes (Ping, Ingest happy-path, Ingest idempotency) against the Docker Compose stack. Non-vacuity confirmed: an offset-based signal that is absent makes awaitProcessed time out (observed while iterating), so the async assertion is real.

---

<sub>Generated by the 🪄 [pr-create](https://sg.uberinternal.com/code.uber.internal/uber-code/devexp-agent-marketplace/-/blob/claude-code/plugins/dev/uber-dev/skills/pr-create/SKILL.md) skill in devexp-agent-marketplace</sub>

@mnoah1 mnoah1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved pending the fix to the build failure

@behinddwalls behinddwalls force-pushed the preetam/stovepipe-e2e branch from 896d03b to 4e7b369 Compare July 7, 2026 17:29
@behinddwalls behinddwalls merged commit a59cf13 into main Jul 7, 2026
15 checks passed
@behinddwalls behinddwalls deleted the preetam/stovepipe-e2e branch July 7, 2026 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants